Masala #0976
Kvadrat Soat
Sizga n soni beriladi. Siz nxn o'lchamdagi bo'sh matritsani sonlarga to'ldirishingiz kerak. Matritsaning O nuqta markazidan( agar n toq bo'lsa O nuqta markazdagi katakchaning markazida joylashadi, n juft bo'lsa O nuqta hech qaysi katakchada joylashmaydi va matritsa markazida bo'ladi) yuqoriga tik ravishda matritsaning eng tepasigacha soat mili joylashgan. Bu mil soat strelkasi bo'ylab aylanadi. Milning harakati matritsani quyidagicha to'ldiradi:
- mil aylana bo'ylab harakatda 1 - bo'lib katakchalarni(1 yoki undan ortiq bo'lishi mumkin) 1 ga to'ldiradi, 2 - bo'lib kesib o'tgan katakchalarni 2 bilan to'ldiradi va h.k.
- Mil toki barcha katakchalarni to'ldirmaguncha harakatni davom ettiradi.
- n soni toq bo'lsa mil markaziy katakchadan toki tepagacha jami (n+1)/2 ta katakchani kesib turadi va bu holatda shu kataklarga 0 qiymati joylashtiriladi va keyingi kesgan kataklarni 1 dan boshlab raqamlaydi.
- n soni juft bo'lsa hech qanday nollar mavjud bo'lmaydi.
Toq holatda quyidagicha
Juft holda quyidagicha:
Sizning vazifangiz nxn matritsani sonlar bilan to'ldirish
Sizga n \(( 1 \le n \le 100 )\) butun soni beriladi.
Siz sonlar bilan to'ldirilgan matritsani (matritsa ko'rinishida) chop eting.
# | input.txt | output.txt |
---|---|---|
1 |
1 |
0 |
2 |
2 |
4 1 3 2 |
3 |
3 |
7 0 1 6 0 2 5 4 3 |
4 |
4 |
11 12 1 2 10 10 1 3 9 7 4 4 8 7 6 5 |
5 |
5 |
18 19 0 1 3 16 17 0 2 4 15 14 0 4 5 14 12 9 7 6 13 11 10 9 8 |